package cn.com.surker.system.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 审核消息推送表
 * </p>
 *
 * @author admin
 * @since 2022-11-06
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SysExamineMessage implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 标识
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 业务ID
     */
    private Long bizId;

    /**
     * 业务类型(后台枚举定义)
     */
    private String bizType;

    /**
     * 回调code
     */
    private String code;

    /**
     * 微信appid
     */
    private String appid;

    /**
     * 微信openid
     */
    private String openid;

    /**
     * 用户ID
     */
    private Long uid;

    /**
     * 接收者
     */
    private String toUser;

    /**
     * 接收账号
     */
    private String toAccount;

    /**
     * 公司ID
     */
    private Long orgId;

    /**
     * 公司名称
     */
    private String orgName;

    /**
     * 标题
     */
    private String title;

    /**
     * 副标题
     */
    private String subTitle;

    /**
     * 消息内容
     */
    private String content;

    /**
     * 跳转地址
     */
    private String url;

    /**
     * 审批类型(0:主办,1:会签)
     */
    private Integer examineType;

    /**
     * 是否回调(0:未回调1:已回调)
     */
    private Integer isCallback;

    /**
     * 状态(0：启用，1：禁用)
     */
    private Integer status;

    /**
     * 创建时间
     */
    private Date createTime;

    public SysExamineMessage(){};

    public SysExamineMessage(Long bizId, String bizType, String code, String appid, String openid, Long uid,
                             String toUser, String toAccount, Long orgId, String orgName, String title,
                             String subTitle, String content, String url, Integer examineType, Integer isCallback,
                             Integer status, Date createTime) {
        this.bizId = bizId;
        this.bizType = bizType;
        this.code = code;
        this.appid = appid;
        this.openid = openid;
        this.uid = uid;
        this.toUser = toUser;
        this.toAccount = toAccount;
        this.orgId = orgId;
        this.orgName = orgName;
        this.title = title;
        this.subTitle = subTitle;
        this.content = content;
        this.url = url;
        this.examineType = examineType;
        this.isCallback = isCallback;
        this.status = status;
        this.createTime = createTime;
    }
}
